﻿using System.Drawing;

namespace Tetris {
    // 常量
    class Const {
        // 格
        public const int GRID_SIZE = 26;                                            // 尺寸

        // 方块                                                                     
        public const int BLOCK_GRID_COUNT_H = 4;                                    // 一个方向由
        public const int BLOCK_GRID_COUNT_V = 4;                                    // 4*4 的格组成

        // 游戏区域                                                                 
        public const int GAME_BOARD_X = 20;                                         // 左上角 X 坐标
        public const int GAME_BOARD_Y = 20;                                         // 左上角 Y 坐标
        public const int GAME_BOARD_GRID_COUNT_H = 10;                              // 横向格数
        public const int GAME_BOARD_GRID_COUNT_V = 20;                              // 纵向格数
        public const int GAME_BOARD_WIDTH = GRID_SIZE * GAME_BOARD_GRID_COUNT_H;    // 宽度
        public const int GAME_BOARD_HEIGHT = GRID_SIZE * GAME_BOARD_GRID_COUNT_V;   // 高度
        public static readonly Color GAME_BOARD_COLOR = Color.White;                // 背景色

        // 预览区域                                                                 
        public const int PREVIEW_X = GAME_BOARD_X + GAME_BOARD_WIDTH + GRID_SIZE;   // 左上角 X 坐标
        public const int PREVIEW_Y = GAME_BOARD_Y;                                  // 左上角 Y 坐标
        public const int PREVIEW_WIDTH = GRID_SIZE * 5;                             // 宽度
        public const int PREVIEW_HEIGHT = GRID_SIZE * 5;                            // 高度
        public static readonly Color PREVIEW_COLOR = Color.White;                   // 背景色

        // 定时器                                                                   
        public const int TIMER_INIT = 1000;                                         // 初始间隔值，单位毫秒
        public const int TIMER_GROW = 100;                                          // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数

        // 难度                                                                     
        public const int DIFF_BASE = 5000;                                          // 基数。分数每达到此数的整数倍时，难度增加
        public const int DIFF_MAX = 10;                                             // 最大值。难度达到此数后不再增加

        // 胜利数                                                                   
        public const int WIN_NUMBER = DIFF_BASE * DIFF_MAX;                         // 达到此数胜利
    }
}
